﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CasaisEmEdificacao.Gerenciador.noticia
{
    public partial class index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Util.AlertaCliente util = new Util.AlertaCliente();

                if (Request["Msn"] != null)
                {

                    lblMensagem.Text = util.MensagemCliente(Convert.ToInt32(Request["Msn"].ToString()));
                    lblMensagem.Visible = true;
                }


                CarregarNoticias();


            }
            else
            {
                lblMensagem.Visible = false;
            }
        }

        public void CarregarNoticias()
        {
            var metNoticia = new CamadaDados.noticia();
            grdNoticia.DataSource = metNoticia.CarregarNoticias(1);
            grdNoticia.DataBind();
        }

        protected void grdNoticia_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            string acao = e.CommandName.ToString();
            string strCodNoticia = e.CommandArgument.ToString();

            switch (acao)
            {
                case "Editar":
                    Response.Redirect("~/Gerenciador/noticia/form_noticia.aspx?codNoticia=" + strCodNoticia);
                    break;

                case "Excluir":
                    ExcluirNoticia(Convert.ToInt32(strCodNoticia));
                    break;

                case "Status":
                    MudarStatusNoticia(Convert.ToInt32(strCodNoticia));
                    break;
            }
        }

        private void ExcluirNoticia(int intCodNoticia)
        {

            var metNoticia = new CamadaDados.noticia();
            var util = new Util.AlertaCliente();

            try
            {
                metNoticia.ExcluirNoticia(intCodNoticia);
                lblMensagem.Text = util.MensagemCliente(3);
                lblMensagem.Visible = true;
                CarregarNoticias();

            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
                throw;
            }


        }

        private void MudarStatusNoticia(int intCodConteudo)
        {
            var metNoticia = new CamadaDados.noticia();
            var util = new Util.AlertaCliente();

            try
            {
                metNoticia.MudarStatus(intCodConteudo);
                lblMensagem.Text = util.MensagemCliente(5);
                lblMensagem.Visible = true;
                CarregarNoticias();

            }
            catch (Exception)
            {
                lblMensagem.Text = util.MensagemCliente(4);
                lblMensagem.Visible = true;
                throw;
            }
        }




    }
}